home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Express Pd: GALORE
/
Express Pd Galore - The Amiga PD & Shareware CD (1994)(Express Pd)[!][Amiga-CD32-CDTV].iso
/
productivity
/
printing
/
printfiles-wb2_only
/
rexx
/
prf.rexx
< prev
next >
Wrap
OS/2 REXX Batch file
|
1994-02-10
|
2KB
|
74 lines
/* *************************************************** */
/* printfiles Arexx Macro */
/* © 1992 by K. Klingbeil */
/* inserts files into the print list using AmigaDos */
/* pattern matching facilities */
/* USAGE: rx prf -f<Arexx-Script> <insert> -r<remove> */
/* Example : rx prf -ftest.rexx #?test#? -rtest.h */
/* this examples inserts all files which contain */
/* the pattern 'test' info the print list, removes */
/* the file test.h and executes the Arexx-script */
/* test.rexx */
/* NOTE: Scripts that are generated from PrintFiles */
/* itself (Save button in the prefs window) contain */
/* a 'reset' command at the first line. You should */
/* call the prf macro with such a script as the first */
/* argument. */
/* *************************************************** */
options results
options results
if ~show(ports,'PRINTFILES')then do
address command 'printfiles'
end
if ~(show(ports,'PRINTFILES')) then return 5
parse arg CmdLine
p = words(CmdLine)
do i = 1 to p
pattern = word(CmdLine,i)
if left(pattern,2) == '-r' then removefile(substr(pattern,3))
else
if left(pattern,2) == '-f' then rxfile(substr(pattern,3))
else insertfile(pattern)
end
exit
rxfile: procedure
parse arg template
cmd = 'rx ' template
address command cmd
return 1
removefile: procedure
parse arg template
cmd = 'list >pipe:prf' template 'quick'
address command cmd
open('p','pipe:prf','r')
do while ~eof('p')
file = readln('p')
a = subword(file,1,1)
b = subword(file,2,1)
if a ~== '' & b == '' then address printfiles remfile a
end
close('p')
return 1
insertfile: procedure
parse arg template
cmd = 'list >pipe:prf' template 'quick'
address command cmd
open('p','pipe:prf','r')
do while ~eof('p')
file = readln('p')
a = subword(file,1,1)
b = subword(file,2,1)
if a ~== '' & b == '' then address printfiles insfile a
end
close('p')
return 1